home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / dllswd / maindemo.pas < prev    next >
Pascal/Delphi Source File  |  1995-12-22  |  2KB  |  86 lines

  1. unit Maindemo;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, {WinProcs,} Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, FileCtrl, Buttons;
  8.  
  9. type
  10.   TDemoForm = class(TForm)
  11.     Button5: TButton;
  12.     QuitBtn: TBitBtn;
  13.     procedure Button1Click(Sender: TObject);
  14.     procedure Button5Click(Sender: TObject);
  15.     procedure FormCreate(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     { Public declarations }
  20.   end;
  21.  
  22. var    DemoForm: TDemoForm;
  23.  
  24. Const    PasswordLoaded : Boolean = False; { Presume nothing! }
  25.  
  26. var Mot: function: WordBool;
  27.  
  28. implementation
  29.  
  30. {$R *.DFM}
  31.  
  32. {$IFDEF WINDOWS}
  33. uses WinProcs;
  34. Const SEM_NoOpenFileErrorBox = $8000;
  35. {$ELSE}
  36. uses WinAPI;
  37. {$ENDIF}
  38.  
  39. var SaveExit: pointer;
  40.     DLLHandle: Word;
  41.  
  42. procedure NewExit; far;
  43. begin
  44.   ExitProc := SaveExit;
  45.   FreeLibrary(DLLHandle)
  46. end {NewExit};
  47.  
  48. procedure TDemoForm.FormCreate(Sender: TObject);
  49. begin
  50.   {$IFDEF WINDOWS}
  51.   SetErrorMode(SEM_NoOpenFileErrorBox);
  52.   {$ENDIF}
  53.   DLLHandle := LoadLibrary('PASSWORD.DLL');
  54.   If DLLHandle >= 32 then { Succes }
  55.   Begin
  56.     PasswordLoaded := True;
  57.     SaveExit    := ExitProc;
  58.     ExitProc    := @NewExit;
  59.     @Mot            := GetProcAddress(DLLHandle,'MOTDEPASSE');
  60.       If not Mot
  61.           then  Application.Terminate
  62.           else    Begin
  63.               { Initialization }
  64.                       Color := clGreen ; { Just for the DEMO }
  65.                   End ;
  66.   End else
  67.   Begin
  68.     MessageDlg('Fichier PASSWORD.DLL introuvable!', mtInformation,[mbOk], 0) ;
  69.       Application.Terminate ;
  70.   End ;
  71. end;
  72.  
  73. procedure TDemoForm.Button1Click(Sender: TObject);
  74. begin
  75.     Close ;
  76. end;
  77.  
  78. procedure TDemoForm.Button5Click(Sender: TObject);
  79. begin
  80.     If Mot
  81.       then    Color := clGreen
  82.       else    Color := clRed;
  83. end;
  84.  
  85. end.
  86.